package com.zzyl.framework.config;

import com.aliyun.iot20180120.Client;
import com.aliyun.teaopenapi.models.Config;
import com.zzyl.framework.config.properties.AliIoTConfigProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class IotClientConfig {
    //通过第三方bean的方式将配置文件配置的client实例化出来`
    //同时我们需要调用配置类的get方法，获取到配置文件中的配置信息
    //由于配置类的使用的@Configuration注解，已经交由Spring管理，所以直接注入到bean中即可 在spring环境中
    //也可直接当作参数传递
    @Bean
   public Client client( AliIoTConfigProperties properties) throws Exception {
        Config config=new Config();
        //从当前的环境变量中获取阿里云的配置信息
        config.setAccessKeyId(System.getenv("OSS_ACCESS_KEY_ID"));
        config.setAccessKeySecret(System.getenv("OSS_ACCESS_KEY_SECRET"));
        //再从当前环境下的配置文件中获取iot的配置信息
        config.setRegionId(properties.getRegionId());
        return  new Client(config);
    }
}
